Introduction and Goals
This aim of this project is to create a decentralized chat based on the SOLID framework to allow users to always control their data and thus their privacy.
Requirements Overview
The whole project is based on the solid specification. And the basic requirements are the following ones:
- The system will be based on a decentralized architecture where data storage is separated from the app
- Users can store their chat data in their own PODs (Personal Object Data)
- The app will allow a user to share pictures, videos or other kinds of files with other friends through the chat
- A user can get notifications when some friend wants to chat with him
- Users can have groups of friends with whom they may want to chat
- It will be possible to have group chats where all members receive the messages
The idea of a decentralized chat is so important because nowadays privacy is something to take into account. If a user has complete access to its data with no intermediary, we can ensure that all of its information would not be compromised.
Quality Goals
Table 1. Quality Goals
Priority | Quality | Motivation |
---|---|---|
1 | Effectiveness | User should be able to communicate with others properly using all the functionalities available. |
2 | Decentralization | According the functional requirements, we will use SOLID to protect user data. |
3 | Maintainability | Using AngularJS with its default architectonic pattern Model-View-Controller, testing, revising and extending funcionalities it's easier. |
4 | Accessibility | Using good practices and color combinations, most people should be able to use it. |
Stakeholders
The following lists contains the most important people for this application:
Table 2. Stakeholders
Role/Name | Contact | Expectations |
---|---|---|
Project sponsor | Sir Tim Berners-Lee | Proof that the project fulfills the criteria of the Inrupt challenge |
Community Manager at Solid | Ms. Mitzi László, Ph.D | Proof that the top-3 quality goals can be achieved |
Course professor | Mr. Jose Emilio Labra Gayo, Ph.D | Proof that the requirements can be achieved |